package com.jeeplus.test.jlnu.admissionInfo.domain.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.jeeplus.test.jlnu.admissionInfo.utils.CustomDateConverter;
import lombok.Data;


import java.io.Serializable;
import java.util.Date;


@Data
@JsonInclude(JsonInclude.Include.ALWAYS)
public class AdmissionInfo implements Serializable {
    private Integer id;
    private String archiveCode;  // 档案馆代码
    private String fullSetCode;  // 全宗号
    private String categoryCode;  // 门类代码
    private String categoryId;  // 类别号
    private String projectId;  // 项目号
    private String directoryCode;  // 目录号
    private String annual;  // 年度（修改为VARCHAR，用于存储年度信息）
    private String retentionPeriodCode;  // 保管期限代码
    private String institution;  // 机构（问题）
    private String caseNumber;  // 案卷号
    private String itemNumber;  // 件号
    private String documentTitle;  // 文件标题
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dateTime;  // 日期（修改为date_time，存储具体的日期）
    private String responsiblePerson;  // 责任者
    private String specification;  // 规格
    private Integer itemCount;  // 件数（记录文件件数）
    private Integer pageCount;  // 页数（记录文件页数）
    private String retentionPeriod;  // 保管期限（描述文件的保管时长）
    private String confidentialityLevel;  // 密级（记录文件的机密等级）
    private String disclosureAttribute;  // 公开属性（记录文件的公开属性，如是否公开）
    private Integer openFlag;  // 开放标识（0表示不公开，1表示公开）
    private String remark;  // 附注（存储关于档案的附加信息）
    private String keywords;  // 主题词或关键词（用于档案的关键词索引）
    private String storageLocation;  // 存储位置（记录档案存储的位置）
    private String cataloger;  // 著录者（记录档案信息的人员）
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date catalogDate;  // 著录日期（记录档案信息的日期）
    private String archivingUnit;  // 归档单位（归档文件的部门或单位）
    private String archiver;  // 归档人（执行归档操作的人员）
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date archiveTime;  // 归档时间（归档操作的日期）
    private String electronicDocument;  // 电文文件（记录是否为电文文件，存储文件路径或名称）
    private String electronicDocumentMetadata;  // 电文文件元数据（存储电文文件的元数据）
    private String notes;  // 备注（存储其他额外信息）
    @ExcelProperty("档号")
    private String archivalNum;

    @ExcelProperty("案卷题名")
    private String caseTitle;

    @ExcelProperty("文件标题")
    private String fileTitle;

    @ExcelProperty("存储位置")
    private String saveLocation;

    @ExcelProperty("所在页")
    private String pageLocation;

    @ExcelProperty("页面序号")
    private String pageNum;

    @ExcelProperty("考生号")
    private String examineeNum;

    @ExcelProperty("准考证号")
    private String admissionNum;

    @ExcelProperty("学号")
    private String studentId;

    @ExcelProperty("姓名")
    private String name;

    @ExcelProperty("性别")
    private String gender;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty("出生日期")
    private Date birthday;

    @ExcelProperty("政治面貌")
    private String politicalOutlook;

    @ExcelProperty("民族")
    private String nation;

    @ExcelProperty("身份证号码")
    private String idCard;

    @ExcelProperty("计划性质")
    private String planNature;

    @ExcelProperty("录取学校")
    private String admissionSchools;

    @ExcelProperty("录取学院")
    private String admissionAcademy;

    @ExcelProperty("录取专业")
    private String admissionMajor;

    @ExcelProperty(value = "录取时间", converter = CustomDateConverter.class)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String admissionTime;

    @ExcelProperty("层次")
    private String gradation;

    @ExcelProperty("学制")
    private String educationalSystem;

    @ExcelProperty("学习形式")
    private String learningForms;

    @ExcelProperty("考生类别")
    private String examineeSort;

    @ExcelProperty("批次")
    private String batch;

    @ExcelProperty("毕业学校")
    private String graduationSchool;

    @ExcelProperty("生源地")
    private String sourceArea;

    @ExcelProperty("地区名称")
    private String areaName;

    @ExcelProperty("家庭（邮寄）地址")
    private String homeAddress;

    @ExcelProperty("邮政编码")
    private String postalCode;

    @ExcelProperty("联系电话")
    private String phoneNum;

    @ExcelProperty("信息源")
    private String infoSource;

    @ExcelProperty("备注")
    private String remarks;

    @ExcelProperty("科类")
    private String category;

    @ExcelProperty("拓展字段一")
    private String ext1;

    @ExcelProperty("拓展字段二")
    private String ext2;

    @ExcelProperty("拓展字段三")
    private String ext3;

    @ExcelProperty("拓展字段四")
    private String ext4;

    @ExcelProperty("拓展字段五")
    private String ext5;

    @ExcelProperty("拓展字段六")
    private String ext6;

    @ExcelProperty("拓展字段七")
    private String ext7;

    @ExcelProperty("拓展字段八")
    private String ext8;

    @ExcelProperty("拓展字段九")
    private String ext9;

    @ExcelProperty("拓展字段十")
    private String ext10;

    @ExcelProperty("拓展字段十一")
    private String ext11;

    @ExcelProperty("拓展字段十二")
    private String ext12;

    @ExcelProperty("拓展字段十三")
    private String ext13;

    @ExcelProperty("拓展字段十四")
    private String ext14;

    @ExcelProperty("拓展字段十五")
    private String ext15;

    @ExcelProperty("拓展字段十六")
    private String ext16;

    @ExcelProperty("拓展字段十七")
    private String ext17;

    @ExcelProperty("拓展字段十八")
    private String ext18;

    @ExcelProperty("拓展字段十九")
    private String ext19;

    @ExcelProperty("拓展字段二十")
    private String ext20;

    private String newPasswd;
    private String isChangePasswd;
    private String classId;
    private String flag;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date expectedGraduationDate;
    private Integer approveState;
    private String officeId;

    private String approveRemark;
    //转入状态
    private Integer transferState;
    //备注
    private String transferRemarks;

    //年度
    private String year;

    //数据类型（1：教务处，2：研究生，3：继续教育）
    private String recordType;

    //教务处
    private String pcmc; //批次

    private String ksh; //考生号

    private String zkzh; //准考证号

    private String zymc; //专业名称

    private String xm; //姓名

    private String xh; //学号

    private String xbmc; //性别

    //研究生
    private String zh; //考生号

    private String zxshxh; //学号

    private String xb; //性别

    //继续教育
    private String lqzy; //录取专业

}
